package view;

import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import controller.services.outro.UsuarioService;
import model.vos.usuario.Usuario;

public class LoginBean {
	private Usuario usuarioLogin;

	private String login;
	private String senha;
	private List<Usuario> listaUsuarios;
	
	public LoginBean() {
		this.usuarioLogin = new Usuario();
		listaUsuarios = new ArrayList<Usuario>();
	}
	
	

	public List<Usuario> getListaUsuarios() {
		listaUsuarios = new UsuarioService().listarTodos();
		return listaUsuarios;
	}
	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}
	public Usuario getUsuarioLogin() {
		return usuarioLogin;
	}
	
	public void setUsuarioLogin(Usuario usuarioLogin) {
		this.usuarioLogin = usuarioLogin;
	}

	public String inicializar(){
		this.usuarioLogin = new Usuario();
		return "loginUsuario";
	}

	public String checalogin(){
		FacesContext context = FacesContext.getCurrentInstance();
		
		try {
			String result = new UsuarioService().checaLogin(
					this.getUsuarioLogin(), this.getLogin(), this.getSenha());
			
			if (result == "sucesso") {
				this.usuarioLogin = new UsuarioService().loginUser(
						this.getUsuarioLogin(), this.getLogin(), this.getSenha());
				FacesMessage message = new FacesMessage(
						"Usuario logado com sucesso!");
				message.setSeverity(FacesMessage.SEVERITY_INFO);
				context.addMessage(null, message);
				
				return "sucesso";
			}else{
				return "falha";
			}
			
		} catch (Exception ex) {
			ex.printStackTrace();
			FacesMessage msg = new FacesMessage(
			"Erro inesperado ao logar usuario!");
			msg.setSeverity(FacesMessage.SEVERITY_ERROR);
			context.addMessage(null, msg);
			return null;
		}
	}
}
